package com.snpic.appaw.module.third.api.bjpt.dto.iSPolicyQuery;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * @author JiJun
 * @date 2025/9/19 19:18
 * @修改时间 2025/9/19 19:18
 * @description
 */

@Data
@Schema(description = "保单险种信息数据传输对象")
public class ISRiskDTO {

    @Schema(description = "保单号", maxLength = 30)
    private String policyNo;

    @Schema(description = "分保单号", maxLength = 30)
    private String subPolicyNo;

    @Schema(description = "投保单号", maxLength = 30)
    private String proposalNo;

    @Schema(description = "分投保单号", maxLength = 30)
    private String subProposalNo;

    @Schema(description = "计划代码[详见码表]", maxLength = 4)
    private String planCode;

    @Schema(description = "险种代码[详见码表]", maxLength = 4)
    private String riskCode;

    @Schema(description = "起保日期")
    private LocalDateTime startDate;

    @Schema(description = "终保日期")
    private LocalDateTime endDate;

    @Schema(description = "生效日期")
    private LocalDateTime commenceDate;

    @Schema(description = "承保年度", maxLength = 4)
    private String uwYear;

    @Schema(description = "币别代码[详见码表]", maxLength = 3)
    private String currency;

    @Schema(description = "保额", example = "1000000.00")
    private BigDecimal sumInsured;

    @Schema(description = "总毛保费", example = "5000.00")
    private BigDecimal sumGrossPremium;

    @Schema(description = "总净保费", example = "4500.00")
    private BigDecimal sumNetPremium;

    @Schema(description = "总承保保费", example = "4500.00")
    private BigDecimal sumUWPremium;

    @Schema(description = "有效标志", maxLength = 1)
    private String validInd;

    @Schema(description = "即时生效标志", maxLength = 4)
    private String effectFlag;

    @Schema(description = "总折扣", example = "500.00")
    private BigDecimal sumDiscount;

    @Schema(description = "特殊再保标志", maxLength = 1)
    private String specialReinsInd;

    @Schema(description = "优惠保费", example = "4000.00")
    private BigDecimal preferPremium;

    @Schema(description = "延期起期")
    private Date delayStartDate;

    @Schema(description = "延期止期")
    private Date delayEndDate;

    @Schema(description = "延期最终止期")
    private Date delayFinalEndDate;

    @Schema(description = "天马指数标费")
    private BigDecimal tianMaIndexBasicPrice;

    @Schema(description = "上年出险次数")
    private Integer lastClaimCount;

    @Schema(description = "天马指数_核保")
    private BigDecimal tianMaIndexUndwrt;
}